Static Analysis of Exception Handling in Ada
نویسندگان
چکیده
Since the signature of an Ada subprogram does not specify the set of exceptions that the subprogram can propagate, computing the set of exceptions that a subprogram may encounter is not a trivial task. This is a source of error in large Ada systems: for example, a subprogram may not be prepared to handle an exception propagated from another subprogram several layers lower in the call-tree. In a large system, the number of paths in exceptional processing is so great that it is unlikely that testing will uncover all errors in inter-procedural exception handling. Nor are compilers or code inspections likely to locate all such errors. Exception handling is an area where static analysis has a high potential payoff for systems with high reliability requirements. We discuss fundamental notions in computing exception propagation and describe an analysis tool that has proved to be effective in detecting inconsistencies in the exception-handling code of Ada applications.
منابع مشابه
Worst-case timing analysis of exception handling in Ada
This paper describes a method for analysing the timing properties of exception handling in Ada. The paper first describes how exceptions are implemented and considers the use of exceptions in the SPARK, Safe/Ada and ANNA subsets. A static analysis technique for reasoning about exception propagation is then presented. We argue that this technique, along with a suitable subset and detailed knowle...
متن کاملA Review on Exception Analysis and its Applications
Exception handling has become popular in most major languages, including C++, Java, Ada, and ML. Because uncaught exceptions will abort the program’s execution, it is important to make sure at compile-time that the input program will have no uncaught exceptions. This paper aims to summarize works so far on exception analyses and their applications. We first review several exception analyses inc...
متن کاملExcept for Exception Handling ...
Exception handling in Ada has a number of well-known problems. It allows for the propagation of unhandled and anonymous exceptions, it is error-prone and it is inappropriate for some language features including tasking and tagged types. Ada programs with exceptions are difficult to understand, develop, modify or analyse, and the exception handling features can be misused in a number of ways. In...
متن کاملThe Elaboration Order Problem of Ada
A serious problem in huge Ada programs is finding a satisfactory order of elaboration for all of the program’s compilation units. Some elaboration sequence must he selected but access to a program entity before its elaboration will rake the exception (PROGRAM_ERROR) shortly after execution of the program begins. The rules of the 1983 Ada standard 1 fail to ensure that validated compilers produc...
متن کاملPractical exception handling and resolution in concurrent programs
The paper discusses how atomic actions based on forward error recovery in the form of concurrent exception handling and resolution can be programmed within standard conventional languages (Ada and Ada95). We express the main characteristics of the general atomic action scheme in terms of these languages and discuss a set of templates (skeletons) and programmers' conventions which would allow to...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- Softw., Pract. Exper.
دوره 23 شماره
صفحات -
تاریخ انتشار 1993